文章也同时在简书更新
引言
Parameter Server (PS) [1] 是一种目前主流的分布式机器学习范式。其中,李沐 提出的第三代PS [2] 影响力甚大,可以在Github找到其simulation:ps-lite。
基于上述ps-lite,MXNet [3] 应运而生,发展为目前最“热门”的Deep Learning 软件库之一。
注意:本文将主要着眼于MXNet。
MXNet 安装与配置 (注意点)
根据官网的指引进行安装,一般没有什么问题。这里重点讲一下“Build From Source” (源码)方式可能遇到的问题。
笔者的Mac下进行操作,Linux与此是类似的。Windows可能有些区别。
关于Mac系统版本
下载安装脚本install-mxnet-osx-python.sh
,赋予其执行权限后,运行此脚本。脚本会根据Mac的系统版本号进行check,截止目前(MXNet ver1.2.0),官方Doc中声称只支持OSX Sierra (10.12) and El Capitan (10.11)。因此在High Sierra (10.13),会抛出ERROR。此时,解决办法很简单,直接编辑脚本文件,在文件末尾的main()
中将chk_mac_vers
注释掉即可:#chk_mac_vers
。
关于python版本问题
Mac自带的python版本为2.7.10。对于MXNet的某些依赖过于陈旧,会阻碍安装,建议更新。
鉴于一系列历史遗留和后续考量,建议采用一劳永逸的解决方案:安装Anaconda。另:附上清华大学的镜像资源,用于下载加速:Anaconda清华镜像。你需要做的就是:下载Anaconda的安装脚本,赋予其执行权限,运行脚本,并同意相关操作。
注意:安装Anaconda的目的是为了更新陈旧的python。在安装完成后,记得重新打开你的terminal。仍旧停留在原先的terminal,python环境变量不会更新。
保存后续更新中
Reference
[1] A. Smola et al. “An architecture for parallel topic models.” In VLDB. 2010.
[2] M. Li et al. “Scaling distributed machine learning with the parameter server.” In OSDI. 2014.
[3] T. Chen et al. “MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems.” In NIPS. 2016.